package com.ruoyi.bussiness.service;

import com.ruoyi.bussiness.domain.SysBusinessCheckList;
import com.ruoyi.bussiness.domain.SysListRelatedResource;
import com.ruoyi.common.core.domain.AjaxResult;

import java.util.List;

/**
 * 清单Service接口
 * 
 * @author ruoyi
 * @date 2023-12-14
 */
public interface ISysBusinessCheckListService 
{
    /**
     * 查询清单
     * 
     * @param checkListId 清单主键
     * @return 清单
     */
    public SysBusinessCheckList selectSysBusinessCheckListByCheckListId(Long checkListId);

    /**
     * 查询清单列表
     * 
     * @param sysBusinessCheckList 清单
     * @return 清单集合
     */
    public List<SysBusinessCheckList> selectSysBusinessCheckListList(SysBusinessCheckList sysBusinessCheckList);

    /**
     * 新增清单
     * 
     * @param sysBusinessCheckList 清单
     * @return 结果
     */
    public int insertSysBusinessCheckList(SysBusinessCheckList sysBusinessCheckList);

    /**
     * 修改清单
     * 
     * @param sysBusinessCheckList 清单
     * @return 结果
     */
    public int updateSysBusinessCheckList(SysBusinessCheckList sysBusinessCheckList);

    /**
     * 批量删除清单
     * 
     * @param checkListIds 需要删除的清单主键集合
     * @return 结果
     */
    public int deleteSysBusinessCheckListByCheckListIds(Long[] checkListIds);

    /**
     * 删除清单信息
     * 
     * @param checkListId 清单主键
     * @return 结果
     */
    public int deleteSysBusinessCheckListByCheckListId(Long checkListId);


    /**清单状态撤回**/
    int withdrawSysBusinessCheckListByCheckListIds(Long[] checkListIds);

    /**
     * @Author shining
     * @Description //TODO 上移或者下移
     * @Date 17:05 2023/12/19
     * @Param [entity]
     * @return com.ruoyi.common.core.domain.AjaxResult
     **/
    AjaxResult moveUpOrDown(SysBusinessCheckList entity);

    /**
     * @Author shining
     * @Description //TODO 置顶或者置底
     * @Date 08:38 2023/12/20
     * @Param [entity]
     * @return com.ruoyi.common.core.domain.AjaxResult
     **/
    AjaxResult pinToTopOrEnd(SysBusinessCheckList entity);

    /**
     * @Author shining
     * @Description //TODO 获取清单的相关阅读
     * @Date 18:10 2023/12/20
     * @Param [entity]
     * @return com.ruoyi.common.core.domain.AjaxResult
     **/
    AjaxResult getRelateReadList(SysBusinessCheckList entity);

    String getBridgeNum(String bridgeType);

    AjaxResult getBridgeBigData();

    List<SysListRelatedResource> getRelateResourceListByType(SysListRelatedResource sysListRelatedResource);

    AjaxResult getRelateResourceList(SysBusinessCheckList entity);
}
